Application programs are used in all aspects of business, industry and personal/home endeavors. There is a large and diverse segment of consumers and workers that must interface with these applications. A vendor of an application program takes into consideration the typical skill level of a group of users for which the application is targeted in order to create the most "easy to use" interface to the application without sacrificing necessary functional features needed by the user to use the application.
Some vendors offer different versions of essentially the same application program, where the versions differ only in the user interface provided with the application program. This allows the vendor to target the same application program to various groups of users having different and varying skill leve3ls. The varying skill levels may include computer skills or job specific skills for which the application was created.
For example, in production operations including but not limited to the printing trades, the production of parts, tools and dies, integrated circuit manufacturing and processing and chemical industrial production, the operations typically involve repetitive functions performed over relatively long periods of time. Computerization of such operations takes advantage of the strengths of the computer for handling these functions effectively. Also, it can reduce the operator skill level required for many of the operations and increase the productivity of all operators including those still needing high level skills to run and manage the operations.
Nevertheless, computerized production operations require user interfaces that accurately reflect the control requirements and options needed by an operator to run and manage the operations. As such, user interfaces can become more and more complex with hundreds of functional operations for all of the possible operating scenarios the operator may face. Typically, application vendors will design specific purpose software programs with specific display interfaces tailored to the specific production operations where the runs are long term and of the same type of operations with few changes.
However, if every customer of the application vendor has different production control requirements, it may be too expensive and too inefficient for the vendor to provide a user interface tailored to each customer's specific production needs. Also, many production operations are not pure, i.e. the operations take on characteristics of other production environments.
For example, a "pure" commercial print shop operation may print manuals, books or other "print for profit" types of printing. A "pure" production print shop may be involved in printing large volumes of statements, invoices, bills, etc. for organizations. A "pure" network print environment may involve a multitude of low volume printing operations from individual workers in an office environment.
In specific, there is a need for an user interface for operators who manage print jobs and printers in each of these three different environments. Separate application programs, each with their own user interfaces have been provided to customers in each of these different print operating environments since each environment theoretically has its own operating requirements. However, in the real world, these environments are not "pure", i.e. any one of these environments can have similarities to another environment. Typically, it is difficult for a software provider to categorize a given customer into some of these pure environments. In addition, some customers may want additional function than what has been provided for their environment; of, if a customer has users with more novice skill levels, the customer may desire a user interface that limits the things that the users are allowed to do. Thus, providing an application program with just the "right" user interface for each and every customer has been a difficult problem for application program vendors to handle.